phile 0.1.4

The Painless High-Level Persistence Engine
Documentation

This library provides the programmatic interface for the PHiLe Compiler and Domain-Specific Language. The crate is composed of several modules, each of which roughly corresponds to a single step in the compilation pipeline:

  • lexer performs lexical analysis and tokenization.
  • parser performs higher-level syntactic analysis and outputs an…
  • ast, an Abstract Syntax Tree.
  • sqirgen takes the AST and typechecks it, then emits…
  • sqir, the Schema and Query Intermediate Representation, PHiLe IR.
  • sqiropt will take the raw SQIR and optimize it, so that it can be fed into…
  • dalgen, which is the back-end that generates the actual DAL code.
  • util contains miscellaneous helper types and functions.
  • error contains type definitions for uniformly describing syntactic, semantic, and internal compiler errors.

Depending on how you are willing to use PHiLe, you may be looking for…

  • The Tutorial. This gets you started quickly and painlessly with writing schemas and queries in PHiLe's domain-specific language.
  • The Examples. Check out these code snippets if you learn easier by example.
  • The Reference. Search through this document if you are already familiar with the basics and you are now looking for the details of a specific feature.
  • Manpage-style docs for philec, if you want to deep dive into the invocation of the PHiLe CLI compiler.